import katex from '../katex.mjs'

let scripts = document.body.getElementsByTagName('script')
scripts = Array.prototype.slice.call(scripts)
scripts.forEach(function (script) {
	if (!script.type || !script.type.match(/math\/tex/i)) {
		return -1
	}

	const display = script.type.match(/mode\s*=\s*display(;|\s|\n|$)/) != null
	const katexElement = document.createElement(display ? 'div' : 'span')
	katexElement.setAttribute('class', display ? 'equation' : 'inline-equation')

	try {
		katex.render(script.text, katexElement, {
			displayMode: display,
		})
	} catch (err) {
		//console.error(err); linter doesn't like this
		katexElement.textContent = script.text
	}

	script.parentNode.replaceChild(katexElement, script)
})
